package com.xiaoshuidi.cloud.module.finance.dal.dataobject.finance;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@TableName(value = "yinlian_reconciliation", autoResultMap = true)
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class YinlianReconciliationDO {
    @TableId
    private Long id;
    private String merchantCode;

    private LocalDate settleDate;
    /**
     * 交易日期
     **/
    private LocalDateTime tradeDate;
    /**
     * 卡号
     **/
    private String bankCardNo;
    /**
     * 交易类型
     **/
    private String tradeType;
    /**
     * 交易金额
     **/
    private BigDecimal totalAmount;
    /**
     * 终端号
     **/
    private String terminalCode;
    /**
     * 清算金额
     **/
    private BigDecimal settleAmount;
    /**
     * 手续费
     **/
    private BigDecimal serviceFee;
    /**
     * 参考号
     **/
    private String refId;
    /**
     * 流水号
     **/
    private String seqId;
    /**
     * 卡类型
     **/
    private String bankCardType;
    /**
     * 商户订单号
     **/
    private String merOrderId;
    /**
     * 支付类型
     **/
    private String payType;
    /**
     * 银商订单号
     **/
    private String ylOrderId;
    /**
     * 退货订单号
     **/
    private String refundOrderId;
    /**
     * 实际支付金额
     **/
    private BigDecimal payAmount;
    /**
     * 备注
     **/
    private String remark;
    /**
     * 钱包优惠金额
     **/
    private BigDecimal walletDiscountAmount;
    /**
     * 商户优惠金额
     **/
    private BigDecimal merchantDiscountAmount;
    /**
     * 发卡行
     **/
    private String bankInfo;
    /**
     * 分店简称
     **/
    private String fdShortName;
    /**
     * 其他优惠金额
     **/
    private BigDecimal otherDiscountAmount;
    /**
     * 分期期数
     **/
    private Integer installmentNumber;
    /**
     * 分期手续费
     **/
    private BigDecimal installmentServiceFee;
    /**
     * 分期服务方
     **/
    private String installmentSupplier;
    /**
     * 分期利息方
     **/
    private String installmentInterestPartner;
    /**
     * 子订单号
     **/
    private String subOrderId;

    /**
     * 对账状态 1为对账 -1为异常
     */
    private Integer checked;

    /**
     * 对账异常原因
     */
    private String checkFailedRemark;
}
